package com.Emotion.emotion.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.Emotion.common.annotation.Excel;
import com.Emotion.common.core.domain.BaseEntity;

/**
 * 情绪分析对象 tb_emotion_analysis
 * 
 * @author wangtao
 * @date 2025-05-08
 */
public class EmotionAnalysis extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 分析ID */
    private Long analysisId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /**部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 关联情绪记录ID */
    @Excel(name = "关联情绪记录ID")
    private Long emotionId;

    /** 主情绪类型 */
    @Excel(name = "主情绪类型")
    private String emotionType;

    /** 潜在原因（数组） */
    @Excel(name = "潜在原因", readConverterExp = "数=组")
    private String potentialCauses;

    /** 建议（数组） */
    @Excel(name = "建议", readConverterExp = "数=组")
    private String relatedAdvice;

    /** 推荐资源（对象） */
    @Excel(name = "推荐资源", readConverterExp = "对=象")
    private String relatedResources;

    /** 分析总结 */
    @Excel(name = "分析总结")
    private String summary;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    private Long userId;

    private Long deptId;

    public void setAnalysisId(Long analysisId) 
    {
        this.analysisId = analysisId;
    }

    public Long getAnalysisId() 
    {
        return analysisId;
    }

    public void setEmotionId(Long emotionId) 
    {
        this.emotionId = emotionId;
    }

    public Long getEmotionId() 
    {
        return emotionId;
    }

    public void setEmotionType(String emotionType) 
    {
        this.emotionType = emotionType;
    }

    public String getEmotionType() 
    {
        return emotionType;
    }

    public void setPotentialCauses(String potentialCauses) 
    {
        this.potentialCauses = potentialCauses;
    }

    public String getPotentialCauses() 
    {
        return potentialCauses;
    }

    public void setRelatedAdvice(String relatedAdvice) 
    {
        this.relatedAdvice = relatedAdvice;
    }

    public String getRelatedAdvice() 
    {
        return relatedAdvice;
    }

    public void setRelatedResources(String relatedResources) 
    {
        this.relatedResources = relatedResources;
    }

    public String getRelatedResources() 
    {
        return relatedResources;
    }

    public void setSummary(String summary) 
    {
        this.summary = summary;
    }

    public String getSummary() 
    {
        return summary;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("analysisId", getAnalysisId())
            .append("emotionId", getEmotionId())
            .append("emotionType", getEmotionType())
            .append("potentialCauses", getPotentialCauses())
            .append("relatedAdvice", getRelatedAdvice())
            .append("relatedResources", getRelatedResources())
            .append("summary", getSummary())
            .append("createdAt", getCreatedAt())
            .toString();
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}
